using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ERP.OrderManage.Dtos
{
    /// <summary>
    /// 创建销售发货订单DTO
    /// </summary>
    public class CreateSaleSendOrderDto
    {
        /// <summary>
        /// 订单编码
        /// </summary>
        [Required(ErrorMessage = "订单编码不能为空")]
        public string OrderCode { get; set; }

        /// <summary>
        /// 关联订单编码
        /// </summary>
        public string RelatedOrderCode { get; set; }

        /// <summary>
        /// 订单日期
        /// </summary>
        [Required(ErrorMessage = "订单日期不能为空")]
        public DateTime OrderDate { get; set; }

        /// <summary>
        /// 发货类型
        /// </summary>
        public string DeliveryType { get; set; }

        /// <summary>
        /// 仓库编码
        /// </summary>
        [Required(ErrorMessage = "仓库编码不能为空")]
        public string WarehouseCode { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        [Required(ErrorMessage = "客户编码不能为空")]
        public string CustomerCode { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [Required(ErrorMessage = "客户名称不能为空")]
        public string CustomerName { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        public string ContactPerson { get; set; }

        /// <summary>
        /// 业务员
        /// </summary>
        public string Salesperson { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string PaymentMethod { get; set; }

        /// <summary>
        /// 币别
        /// </summary>
        public string BaseCurrency { get; set; }

        /// <summary>
        /// 总金额
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 总数量
        /// </summary>
        public decimal? TotalQuantity { get; set; }

        /// <summary>
        /// 总件数
        /// </summary>
        public int? TotalPackages { get; set; }

        /// <summary>
        /// 送货地址
        /// </summary>
        public string DeliveryAddress { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }
    }
} 